home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Programming / Programming Languages / Harvest C / MPW Int & Lib / Interfaces / Serial.h < prev    next >
Text File  |  1991-04-17  |  2KB  |  101 lines

  1. /************************************************************
  2.  
  3. Created: Sunday, January 6, 1991 at 10:01 PM
  4.     Serial.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.         Copyright Apple Computer, Inc.    1985-1990
  9.         All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __SERIAL__
  15. #define __SERIAL__
  16.  
  17. #ifndef __TYPES__
  18. #include <Types.h>
  19. #endif
  20.  
  21.  
  22. enum {
  23.  
  24.     baud300 = 380,
  25.     baud600 = 189,
  26.     baud1200 = 94,
  27.     baud1800 = 62,
  28.     baud2400 = 46,
  29.     baud3600 = 30,
  30.     baud4800 = 22,
  31.     baud7200 = 14,
  32.     baud9600 = 10,
  33.     baud19200 = 4,
  34.     baud57600 = 0,
  35.     stop10 = 16384,
  36.     stop15 = -32768,
  37.     stop20 = -16384,
  38.     noParity = 0,
  39.     oddParity = 4096,
  40.     evenParity = 12288,
  41.     data5 = 0,
  42.     data6 = 2048,
  43.     data7 = 1024
  44. };
  45. enum {
  46.     data8 = 3072,
  47.     ctsEvent = 32,
  48.     breakEvent = 128,
  49.     xOffWasSent = 128,
  50.     dtrNegated = 64,
  51.     ainRefNum = -6,         /*serial port A input*/
  52.     aoutRefNum = -7,        /*serial port A output*/
  53.     binRefNum = -8,         /*serial port B input*/
  54.     boutRefNum = -9         /*serial port B output*/
  55. };
  56.  
  57. enum {sPortA,sPortB};
  58. typedef unsigned char SPortSel;
  59.  
  60.  
  61. struct SerShk {
  62.     char fXOn;              /*XOn flow control enabled flag*/
  63.     char fCTS;              /*CTS flow control enabled flag*/
  64.     unsigned char xOn;      /*XOn character*/
  65.     unsigned char xOff;     /*XOff character*/
  66.     char errs;              /*errors mask bits*/
  67.     char evts;              /*event enable mask bits*/
  68.     char fInX;              /*Input flow control enabled flag*/
  69.     char fDTR;              /*DTR input flow control flag*/
  70. };
  71.  
  72. typedef struct SerShk SerShk;
  73.  
  74. struct SerStaRec {
  75.     char cumErrs;
  76.     char xOffSent;
  77.     char rdPend;
  78.     char wrPend;
  79.     char ctsHold;
  80.     char xOffHold;
  81. };
  82.  
  83. typedef struct SerStaRec SerStaRec;
  84.  
  85.  
  86. #ifdef __cplusplus
  87. extern "C" {
  88. #endif
  89. pascal OSErr SerReset(short refNum,short serConfig); 
  90. pascal OSErr SerSetBuf(short refNum,Ptr serBPtr,short serBLen); 
  91. pascal OSErr SerHShake(short refNum,const SerShk *flags); 
  92. pascal OSErr SerSetBrk(short refNum); 
  93. pascal OSErr SerClrBrk(short refNum); 
  94. pascal OSErr SerGetBuf(short refNum,long *count); 
  95. pascal OSErr SerStatus(short refNum,SerStaRec *serSta); 
  96. #ifdef __cplusplus
  97. }
  98. #endif
  99.  
  100. #endif
  101.